package com.builder;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;

import com.model.FacturacionDetalle;
import com.view.FacturacionDetalleView;

@ManagedBean
@ViewScoped
@SuppressWarnings("serial")
public class FacturacionDetalleBuilder extends
		BaseBuilder<FacturacionDetalleView, FacturacionDetalle> {

	@ManagedProperty("#{productoBuilder}")
	private ProductoBuilder productoBuilder;

	@Override
	public FacturacionDetalle toDomain(FacturacionDetalleView view) {
		return new FacturacionDetalle(view.getId(), view.getPrecioOriginal(),
				view.getPrecioAdaptado(), view.getCantidad(),
				productoBuilder.toDomain(view.getProducto()));
	}

	@Override
	public FacturacionDetalleView toView(FacturacionDetalle model) {
		return new FacturacionDetalleView(model.getID(),
				model.getPrecioOriginal(), model.getPrecioAdaptado(),
				model.getCantidad(),
				productoBuilder.toView(model.getProducto()));
	}

	public ProductoBuilder getProductoBuilder() {
		return productoBuilder;
	}

	public void setProductoBuilder(ProductoBuilder productoBuilder) {
		this.productoBuilder = productoBuilder;
	}

}
